package com.itc.bpm.bean;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.Date;

@EqualsAndHashCode(callSuper = true)
@Data
@TableName("bpm_process_task_ext")
public class BpmProcessTaskExt extends BaseDO {

    @TableId
    private Long id;
    @ApiModelProperty(value = "候选人")
    private String candidateUsers;
    @ApiModelProperty(value = "流程实例的名字")
    private String processName;
    @ApiModelProperty(value = "流程实例的编号")
    private String processInstanceId;
    @ApiModelProperty(value = "流程定义的编号")
    private String processDefinitionId;
    @ApiModelProperty(value = "流程分类")
    private String category;
    @ApiModelProperty(value = "任务状态-1 未开始 0 待认领，1 已认领 2 已完成 3 已取消 4 已驳回数据")
    private Integer status;
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    @ApiModelProperty(value = "表单编码")
    private String formCode;
    @ApiModelProperty(value = "表单id")
    private Long formId;
    @ApiModelProperty(value = "任务id")
    private String taskId;
    @ApiModelProperty(value = "任务名称")
    private String taskName;
    @ApiModelProperty(value = "领取时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyTime;
    @ApiModelProperty(value = "领取人")
    private String applyUser;
    @ApiModelProperty(value = "是否重复提交")
    private Integer isRepeatComplete;
    @ApiModelProperty(value = "响应时长")
    private Integer responseTime;
    @ApiModelProperty(value = "处理时长")
    private Integer dealTime;
    @ApiModelProperty(value = "实际响应时长")
    private Integer realResponseTime;
    @ApiModelProperty(value = "实际处理时长")
    private Integer realDealTime;
    @ApiModelProperty(value = "是否结束循环任务")
    private Integer isFinishRepeat;
    @ApiModelProperty(value = "任务间隔时长")
    private Integer spaceTime;
    @ApiModelProperty(value = "是否循环任务")
    private Integer isCirculate;
    @ApiModelProperty(value = "完成任务人员")
    private String completeUser;
    @ApiModelProperty(value = "认领席位")
    private String applyDeptChild;
    @ApiModelProperty(value = "是否驳回状态 0 正常 1 存在驳回数据记录")
    private Integer isReback;
    @ApiModelProperty(value = "是否短信任务 0 否 1 是")
    private Integer isNoteMessage;
}
